<?php
/**
 * WAVESELF FRAMEWORK
 * 
 * Waveself framework is an open source project released under New BSD license.
 * Waveself Engine Team did this in order to help you as ourselves with different
 * but still easy to use and learn approach. 
 * 
 * Please read license before you do any changes or to say, before using current software
 * read our licence which can be found under waveself framework root folder.
 * 
 * If you did not recieve copy of licence, contact us immediately and we will send you copy.
 * 
 * @category   Waveself
 * @package    System Configuration
 * @author     Nevio Vesic <nevio.vesic@gmail.com>
 * @copyright  Waveself Framework NPO 2009-2010
 * @license    https://code.google.com/p/waveself-framework/source/browse/trunk/LICENSE   New-BSD
 * @version    0.1a
 */


/** Initialize settings object. DO NOT REMOVE THIS! Each and every single settings file must start like this 
    and must be instanceof stdClass() */
$settings = new stdClass();


/** MAIN PROJECT CONFIGURATION
    ------------------------------------------------------------------------------------------  **/

/** PROJECT STATUS
 *  ------------------------------------------
 *  Waveself project engine status. With this option you can
 *  set if current project is offline, online or unavailable.
 *  Remember that this will make changes to current project only!
 *  
 *  @example   0     Engine is Offline
 *  @example   1     Engine is Online
 *  @example   2     Engine is Unavailable
 * */
$settings -> project -> status = 1;


/** PROJECT BASE URL (FULLY QUALLIFIED URL)
 *  ------------------------------------------
 *  Base engine url. You don't need to change or touch this. You can but you don't need to :)
 *  If you are changing, remember to not add http?s://
 * 
 *  @example  subdomain.subdomain.example.com
 *  @example  subdomain.example.com
 *  @example  example.com
 *  @example  example.com/project
 * */
$settings -> project -> base -> url = $_SERVER['HTTP_HOST'];


/** PROJECT FULLY QUALLIFIED NAME (PFQN)
 *  ------------------------------------------
 *  PFQN is actually textual reference used for backend or wherever you need it.
 *  if pfqn isn't set, name will be: {$instance} Project
 * 
 *  @example  'Waveself Main Project'
 * */
$settings -> project -> fully -> quallified -> name = 'Waveself Main Project';


/** PROJECT ENVIROMENT STATE
 *  ------------------------------------------
 *  Tell us is it development enviroment or production?
 *  Default one is stored inside of .htaccess file
 * 
 *  @example   Development   Errors will be enabled as few more security related options
 *  @example   Production    Errors will be disabled as few more security related options
 * */
$settings -> project -> enviroment -> state = getenv('APPLICATION_ENV');


/** PROJECT ENVIROMENT HANDLER
 *  ------------------------------------------
 *  Due to ajax and new approach to load pages on the fly without any refreshes
 *  you are able to set engine enviroment to AJAX or SIMPLE. Simple will load
 *  pages normally when AJAX will load pages like on gmail have.
 * 
 *  Remember that this action will be triggered for current project only. If you want
 *  to set it globally as well, change settings under {framework_path}/settings/waveself.php
 *  
 *  @example   Waveself_Engine::ENV_SIMPLE     Simple Page Request Handler
 *  @example   Waveself_Engine::ENV_AJAX       Ajax Page Request Handler      !CAUTION - NOT IMPLEMENTED
 *  
 *  TODO : Implement ENV_AJAX. Current version does not support it!
 * */
$settings -> project -> enviroment -> handler = Waveself_Engine::ENV_SIMPLE;


/** PROJECT ENVIROMENT HANDLER QUERY STRING
 *  ------------------------------------------
 *  Current feature will be enabled only if PROJECT ENVIROMENT HANDLER is set to ENV_AJAX
 *  By setting up this option, you will help us with resolving your application QUERY STRING.
 *  TODO : Implement ENV_AJAX. Current version does not support it!
 * 
 *  @example  QUERYSTRING_TYPE
 *     @example    DEFAULT_TYPE    Will load normal query string example.com?c=controller&v=view&[{params}]
 *     @example    AJAX_TYPE       Will not use your controller model view query strings... Instead example of url
 *                                 will be something like this example.com?controller.view&[{params}]
 *  @example  ALPHABETICAL       Any alphabetical character can go under controller and view settings
 * */
$settings -> project -> enviroment -> querystring -> type       = DEFAULT_TYPE;
$settings -> project -> enviroment -> querystring -> controller = 'c';
$settings -> project -> enviroment -> querystring -> view       = 'v';


/** PROJECT ENCODING
 *  ------------------------------------------
 *  Current settings will be used for global system encoding.
 *  It's the best to leave it UTF-8.
 * 
 *  @example  'UTF-8'
 * */
$settings -> project -> encoding = DEFAULT_CHARSET;


/** PROJECT DEFAULT CONTROLLER
 *  ------------------------------------------
 *  Default controller name. Controller must exist prior changes.
 *  With default structure you will get default controller. If you don't know
 *  what is this, it's the best to leave it alone!
 * 
 *  @example  Index   Strings only! Case insensitive!
 * */
$settings -> project -> main -> controller = "Index";


/** PROJECT DEFAULT CONTROLLER ACTION
 *  ------------------------------------------
 *  Default controller action name. Controller action must exist prior changes.
 *  With default structure you will get default controller action as well. If you don't know
 *  what is this, it's the best to leave it alone!
 * 
 *  Remember that this will affect all existing controller logic.
 * 
 *  @example  Index   Strings only! Case insensitive!
 * */
$settings -> project -> main -> action = "index";


/** PROJECT HOOKS
 *  ------------------------------------------
 *  Hooks feature by default is disabled due to project loading speed.
 *  If you need to change logic inside of Waveself Engine, hooks can help you.
 *  For more informations, please go and read about hooks inside of waveself docs
 * 
 *  Remember that this will affect only existing project logic.
 * 
 *  @example  TRUE    Hooks Enabled
 *  @example  FALSE   Hooks Disabled
 * */
$settings -> project -> hooks = FALSE;


/** PROJECT HOOKS CLASS EXTENSION PREFIX
 *  ------------------------------------------
 *  Prefix of project hooks class extension. It's recomended to
 *  rename it to your own logic. Waveself will newer add hooks inside of projects so 
 *  you are safe.
 * 
 *  @example  'Project_Hooks_'
 * */
$settings -> project -> extension -> prefix -> hooks = 'Project_Library_';


/** PROJECT LIBRARY CLASS EXTENSION PREFIX
 *  ------------------------------------------
 *  Prefix of project library class extension. It's recomended to
 *  rename it to your own logic. Waveself will newer add libraries inside of projects so 
 *  you are safe.
 * 
 *  @example  'Project_Library_'
 * */
$settings -> project -> extension -> prefix -> library = 'Project_Library_';


/** WAVESELF PROJECT CREDITS
 *  ------------------------------------------
 *  And yes :)) Tell world who you are :)
 * 
 *  Don't touch project version if you are using updater. You can get yourself
 *  in really big bug! A.k.a system you will not be able to update your version.
 * */
$settings -> project -> credits -> author    = '<name> <surname> <lastname> <email>';
$settings -> project -> credits -> team      = '<team_name>';
$settings -> project -> credits -> coauthors = array();
$settings -> project -> credits -> copyright = '<company> <year>';
$settings -> project -> credits -> version   = 0;

/** ------------------------------------------------------------------------------------------ **/


/** PROJECT LOGS CONFIGURATION
    ------------------------------------------------------------------------------------------  **/

/** PROJECT ENABLE LOGS
 *  ------------------------------------------
 *  Tell us if you want to enable logs for current project. Due to speed, logs are disabled
 *  by default.
 * 
 *  @example    TRUE   Logs Enabled
 *  @example    FALSE  Logs Disabled
 * */
$settings -> project -> logs -> state = FALSE;


/** PROJECT LOGS LOGGING TYPE
 *  ------------------------------------------
 *  Tell us what you would like to log! Default is 0 a.k.a only custom logs due to
 *  space. Please avoid to set 2-4 numbers because you will find yourself filled really soon!
 * 
 *  @example    0      Logs Disabled. Only custom logs will be written!
 *  @example    1      Error messages - php errors - Custom logs
 *  @example    2      Informational messages - Custom Logs
 *  @example    3      Debug Messages - Custom Logs
 *  @example    4      All messages. Everything  !CAUTION - Escape by every meaning!
 * */
$settings -> project -> logs -> logging -> type = 0;


/** PROJECT LOGS PATH
 *  ------------------------------------------
 *  Tell us if where do you want to store your logs. If path does not exist, it will
 *  be autocreated! Leave it default if you want DRY system where everything is easy to find and
 *  access!
 * */
$settings -> project -> logs -> path = WAVESELF_PATH . '/../system/logs/';


/** PROJECT LOGS FORMAT
 *  ------------------------------------------
 *  Logs write format. In order to change it please go to docs under logs configuration.
 *  We are keeping space here so...
 * */
$settings -> project -> logs -> format = "<client> : <message> : <time(Y-m-d H:i:s)>";


/** ------------------------------------------------------------------------------------------ **/


/** PROJECT UPDATES CONFIGURATION
    ------------------------------------------------------------------------------------------  **/

/** ------------------------------------------------------------------------------------------ **/

/** EOF. Do not add closing php tag! **/